package de.bht.netviz.ipsaver.lookup.dao;

import de.bht.netviz.dao.exceptions.NonexistentEntityException;
import de.bht.netviz.ipsaver.lookup.model.FreeGeoLookupData;
import de.bht.netviz.ipsaver.lookup.model.ILookupData;

/**
 * Adaptorimplementierung für den JPA Controller für FreeGeoIp.net.
 * Reicht Objekte an die entsprechende konkrete Implementierung weiter.
 * 
 * @author Marius Hentschel
 * @since  2012/11/05
 */
public class FreeGeoAdaptor implements ILookupServiceJpaController {

   private FreeGeoLookupDataJpaController dao;
   
   public FreeGeoAdaptor( IJpaController controller ) {
      dao = (FreeGeoLookupDataJpaController)controller;
   }
   
   @Override
   public void create( ILookupData data ) {
      dao.create( (FreeGeoLookupData) data );
   }
   @Override
   public void destroy(long id) throws NonexistentEntityException {
      dao.destroy(id);
   }

   @Override
   public void edit(ILookupData data) throws NonexistentEntityException, Exception {
      dao.edit( (FreeGeoLookupData) data );
   }

   @Override
   public ILookupData findLookupData(long id) {
      return dao.findFreeGeoLookupData(id);
   }

   @Override
   public int getLookupDataCount() {
      return dao.getFreeGeoLookupDataCount();
   }

   @Override
   public ILookupData findByIp(String ip) {
      return (ILookupData)dao.findByIp( ip );
   }
   
}
